LaTeX
Thứ Tư, 05/07/2017, 00:07
Tikz package - [Kỳ 3] Node và một số thủ thuật hữu ích

Tikz package - [Kỳ 3] Node và một số thủ thuật hữu ích

Bài viết này sẽ trình bày về Node và các ứng dụng của node trong TikZ. Phần cuối sẽ trình bày thêm một số thủ thuật hữu ích khác khi sử dụng gói TikZ để vẽ hình trong LaTeX.
 
Xem lại các kỳ trước : Bài 1 | Bài 2

Chú thích các điểm với lệnh \node

Lệnh \node dùng để thêm các chú thích vào hình vẽ. Lệnh \node được sử dụng rất thường xuyên và cũng có rất nhiều tùy biến.

Có bao nhiêu cách thêm các node?

Thông thường có 3 cách để tạo node
  • Thêm node vào điểm đang vẽ, bằng cách thêm node[Tùy biến] {Nội dung}  vào ngay sau điểm đó
  • Tạo node tại một điểm bất kì, bằng lệnh \node (x,y) [Tùy biến] {Nội dung};
  • Định nghĩa và tạo node tại một điểm,  \node[Tùy biến] (Tên node) at (x,y) {Nội dung};
Trong đó, định nghĩa theo cách thứ 3 mặc dù dài dòng hơn nhưng sẽ thuận tiện khi phải liên kết nhiều lần với node đó.

Thêm các node đơn giản

Đơn giản nhất, để thêm một chú thích vào một điểm, ta chỉ cần thêm node {Nội dung chú thích}  vào ngay sau điểm đang vẽ. Ví dụ
\begin{tikzpicture} \draw [<->] (0,2)node{$y$} -- (0,0)node{$O$} -- (5,0)node{$x$}; \end{tikzpicture}
 
Các chú thích mặc định sẽ nằm đúng vị trí trung tâm của điểm chú thích, điều này đôi khi không đẹp mắt (như trường hợp này). Ta có thể điều chỉnh lại vị trí bằng cách thêm vào các tùy biến
notion image
\begin{tikzpicture} \draw [<->] (0,2)node[left]{$y$} -- (0,0)node[below left]{$O$} -- (5,0)node[below]{$x$}; \end{tikzpicture}
 
Về cơ bản cách sử dụng thứ nhất và thứ 2 cũng giống nhau. Cách thứ 2 cho phép ta thêm một node tại điểm bất kì, không cần nằm trên đường vẽ.
notion image
 

Trường hợp cần định nghĩa node trước

Khi các node là nội dung chính của hình vẽ, còn các đường khác chỉ thể hiện mối quan hệ giữa các node thì bạn nên định nghĩa node trước, sau đó mới vẽ các đường còn lại Ví dụ để vẽ hình trên, ta thực hiện
notion image
\begin{tikzpicture} \node[circle, fill=red!30] (a) at (0,0) {A}; \node[circle, fill=red!30] (b) at (2,0) {B}; \node[circle, fill=red!30] (c) at (1,1.5){C}; \foreach \from / \to in {a/b, b/c, c/a} \draw [->] (\from) -- (\to); \end{tikzpicture}
 
Bạn để ý thấy, các mũi tên xuất phát từ node này và dừng lại ở node kia rất đẹp mắt. Nếu không định nghĩa node trước, rất khó để "canh" các mũi tên chuẩn xác như vậy.

Một số thư viện TikZ

TikZ cung cấp các thư viện định nghĩa sẵn để thuận tiện cho việc vẽ lặp lại các hình. Để sử dụng thư viện nào, bạn thêm câu lệnh \usetikzlibrary{arrows,shapes,trees,...} vào sau câu lệnh \usepackage{tikz} Một số thư viện thường dùng, với những thư viện này, ta có thể sử dụng nhiều tiện ích thú vị:
  • arrows: Tùy biến dấu mũi tên. Ta có thể dùng các dấu ngoặc tròn, chữ o, dấu *,... để làm đầu mũi tên.
  • shapes: Vẽ các khối hình, thuận tiện khi vẽ node. Thay vì vẽ phải tự vẽ các hình như hình trụ, ngôi sao, đám mây,... bạn có thể vẽ các hình này chỉ với một câu lệnh nếu sử dụng thư viện shapes. Một số hình thường dùng: cloud, cylinder, star,  regular polygon,  ellipse, forbidden sign, starburst, signal ...
  • math: Thư viện này không cho ta những hình định nghĩa sẵn, tuy nhiên có cho phép ta sử dụng các cấu trúc điều khiển (if-then, for,...) khi vẽ hình. Bạn cũng có thể khai báo biến, sử dụng hàm random() hay tự định nghĩa một hàm để vẽ trong TikZ. Để sử dụng, bạn đặt các lệnh trong \tikzmath{........}
Xem thêm cách sử dụng và một số thư viện khác ở phần 5 Libraries của tài liệu hữu ích này TikZ Manual

Kết

TikZ package Kỳ 3 đã giới thiệu xong những công cụ cần thiết để bạn có thể vẽ một hình với TikZ. Kỳ sau TEXmath sẽ cố gắng hướng dẫn từng bước để vẽ một hình cụ thể, qua đó giúp các bạn biết thêm một vài thủ thuật khác khi sử dụng TikZ.
Cùng chủ đề